文科生的编程自白
The following article is from CorpusTalk Author helloCorpusTalk
《基于Python的语料库数据处理》即将付梓之际,提前贴出前言小文”文科生的编程自白”,请各位师友指正。也请各位师友关注拙著作
雷蕾. 2020. 基于Python的语料库数据处理. 北京: 科学出版社.
(预计本月21号发货)
文科生的编程自白
在书稿即将完成之际,我非常乐意与读者诸君分享我学习语料库语言学、特别是学习语料库数据处理技术的经历,以与大家共勉。
如果从2002年开始硕士求学算起,我接触和学习语料库语言学已有近二十年时间,而学习语料库数据处理技术大致经历了如下三个阶段,即从完全依赖软件工具处理数据的初始阶段,到兼用软件工具和编程处理数据的中间阶段,再到最近几年基本通过编程处理数据。
初始阶段:依赖软件工具
在学习语料库语言学的初始阶段,我主要依赖WordSmith、AntConc等软件工具来处理语料数据。使用软件工具处理数据的一个显著优点是学习成本低、操作简单。但随之而来的问题是,数据处理受限于软件功能,即数据处理局限于WordSmith、AntConc等软件所提供的制作词表、提取关键词等少数几个简单功能,而当需要用其它方法处理数据以解决稍微复杂的研究问题时,往往囿于数据处理能力限制而无法开展更深入研究。
中间阶段:软件工具与编程并行
2010年春在提交了博士论文外审后,我开始摸索学习编程。记得最开始学习的是Perl语言,后来又学过一点儿Linux系统的命令行语言。刚开始学习最痛苦,纯文科出身没有任何编程基础,加上又是自学,走了不少弯路;当然,痛苦摸索的过程也锻炼了自学能力,特别是网络查找资料和解决方案的技能得到了提升。后来Python越来越来火,大约2014年我开始学习Python编程。由于有Perl基础,学习Python似乎轻松顺利了许多。2014年4月第一次到美国阿拉巴马大学英语系访学,在租住的小屋里,磕磕绊绊终于写好了从某大报自动爬取中英文新闻报道并双语对齐的代码,看着代码成功运行、不一会儿数千对齐文本自动生成,喜不自禁,感觉拥有了整个世界!2015年,再次到阿拉巴马访学,又零星学了一阵R语言,但还是写Python居多。这一阶段,主要运用软件工具做语料基本处理(如用AntConc做检索、Linux命令行下调用Stanford CoreNLP做词性赋码或句法分析),然后写Python代码对初始处理过的数据进行深加工。因此,这一阶段软件工具和编程兼用,相互协作,而通过Python写代码处理语料也已比较熟练。
现阶段:编程为主
转眼到了2017年秋季,我到美国内布拉斯加大学林肯分校英语系访学。由于合作导师Matthew Jockers教授主要使用R语言,而我主要写Python,我们开始合作处理数据时不太顺畅。比如,我把Python代码发给Matthew,他需要将我的代码“翻译”成R代码,反之亦然,我需要将Matthew的R代码“翻译”成Python,此种低效促使我开始认真学习R语言。当然由于有编程基础,学习过程也颇顺利,在内布拉斯加半年访学结束,R语言也用得比较顺手了。自此以后,逐渐熟悉了在Python或R中调用其他工具包,也渐渐很少再用软件工具,过渡到绝大部分数据处理工作通过编程来完成的阶段。
啰啰嗦嗦这么多,既是对过去近二十年学习的小结,也是向读者诸君“现身说法”——文科生也可以自学编程。当然,我们颇业余的编程水平与理工生或专业程序员不可同日而语,我们写的代码可能非常简陋甚至低效,但我们在笨拙挣扎后能写出可以运行的代码,能解决绝大部分我们想要解决的研究问题,就够了。
本书是我学习Python编程的心得,也是我多年科研工作中累积的Python代码的部分集合。本书在介绍Python基本数据类型和语法的基础上,提供了大量语料库数据处理个案实例。从较为简单的文本分句、分词、词性赋码、词形还原,到较为复杂的搭配提取、句法分析、双语文本对齐,个案实例涵盖了语料库数据处理所需的大部分研究场景。相信读者诸君在阅读和学习本书内容后,能掌握Python语料数据处理的基本技能,从而在此基础上不断扩大研究边界、提升研究实力和研究质量。
本书的撰写和出版,需要感谢太多人。感谢导师王同顺教授的培养和关心,感谢合作导师Dilin Liu教授、Matthew Jockers教授的指导和提携,感谢北京航空航天大学卫乃兴教授、梁茂成教授、以及华中科技大学外国语学院领导和同事的鼓励和支持。感谢我的博士生施雅倩、文举帮忙校对书稿、测试代码。感谢科学出版社张宁女士和其他编辑老师的帮助和默默付出。最后,感谢太太和女儿的爱,我要将此书献给她们。
本书受2019年华中科技大学文科双一流建设基金资助,为“大数据语言信息处理一流团队建设”项目阶段性成果,特此致谢。
语科教师5群
小科邀您入同学群
欢迎留言并分享至朋友圈